Skip to main content

App Runner

Introduction

The objective of the app runner is to facilitate testing of backend applications with real data. A common problem of testing application logic is not having an active asset to test, which leads to creating new assets, or re-running wells such that the app is invoked and the logic can be tested. This is not only time consuming, but can come at a cost for Corva or the company testing the application. The app runner’s goal aims at solving this problem by:

  • Enabling a developer user of Corva to re-run their BE app against a completed well (stream status must be completed) and populate the asset with the new data.
  • Build and test and application without having to start a new well with a new stream.

Overall, this tool will allow a new app to be tested without the need of running an entire well. Furthermore, it will replace the current use of the local testing framework to run an entire wells data.

Where is App Runner located

The app runner is a feature available to Dev Center users. The feature will be available within the application itself in the left hand access bar as noted below.

image|690x395

NOTE: The App Runner is only available for BE streaming and scheduled applications and will not be visible for BE task, or FE application.

Who can use App Runner

App Runner is available under the Dev Center platform. Any user with developeradmin privileges will have access to the App Runner.

How do I use App Runner?

The app runner is application centric, therefore the first step to using it is having a BE application to run.

  1. Go to Dev Center

image|690x395

  1. Go to Apps section in Dev Center and select the desired BE application.

image|690x395

  1. Once in the selected application, go to the App Info page and confirm that the application is following a data source e.g. Enhanced WITS.

image|690x395

  1. Select the App Runner option from the Apps left hand column panel
  2. Select the version of the application that will be used

image|690x395

  1. Developer chooses which datasets the App Runner will write to. Current data in the dataset will be purged for the selected asset in the time/depth interval selected. The dataset is selected if it has a blue check-mark on the left to the chip. Do not select a dataset if you do not wish to overwrite the data.

image|690x395

In the example below, only the first two datasets corva#activity_tracker and corva#pad_schedule are selected to be run, but not the second two that do not have the blue checkmark.

image|690x395

  1. Developer chooses a historical asset from a drop down menu. Only assets with available streams (status: completed) will be displayed as available in white in the dropdown menu, compared to gray for non-available.

image|690x395

  1. Developer chooses a stream to be run for this well. Only one stream can be run at once in the event that a well has several streams.

The next step varies based on whether the app follows a time-based or depth-based stream.

Time Based Stream

This section outlines how to set the range interval for time based streams. Upon selection of a well and stream the time range must be set for the section of data that will be run and updated (purged).

image|690x395

  1. Choose the Range type for the run. The following options are available:
    • Custom: Determine the specific start and end time to run by setting From and To. The order is set in increasing time, hence From must be an earlier time than To. For example, From: 10/22/22 8:30PM To: 10/23/22 8:30 PM for 24 hours.
    • Last 24 hours: Last 24 hours the well was active.
    • Last week: Last week the well was active.
    • Last month: Last month the well was active.
    • Last year: Last year of run-time for the well. If the well was active for less than a year, it will only run for the active well time.
  2. Select the interval in seconds between From and To to invoke the app. For example, if Interval is 3600 seconds (1hours) is selected From 10/22/22 8:30PM To: 10/23/22 8:30 PM, then it will invoke at 8:30PM, 9:30PM, etc 24 total times, not including 10/23/22 8:30 PM.
  3. The number of invokes will be determined by the time range and the interval. Alternatively one can change to overwrite this number. If the number is overwritten, the time range will be split in equal intervals based on the number of invokes selected.
  4. Hit Start Run
    • Runs app against historical data
    • Posts data to datasets
    • Provides error logs of some type after/during operation

Depth based stream

This section outlines how to set the range interval for depth based streams. Upon selection of a well and stream the depth range must be set for the section of data that will be run and updated (purged).

image|690x395

  1. Choose the Range type for the run. The following options are available:

    • All: The entire depth of the well will be run, all data will be updated for datasets selected.
    • Custom: Determine the specific start and end depth to run by setting From and To. The order is set in increasing depth, hence From must be a shallower depth than To. For example, From: 100 ft, To: 200 ft. Note: From is always included, while To is smaller than.
  2. Select the interval in feet between From and To to invoke the app. For example, if Interval 20 ft is selected From 100 ft To 200 ft, then it will invoke at 100 ft, 120 ft, 140 ft, 160 ft, and 180 ft for a total of 5 invokes as 200 is not included.

  3. Number of Invokes will be determined by the depth range and interval selected.

  4. Hit Start Run

    • Runs app against historical data
    • Posts data to datasets
    • Provides error logs of some type after/during operation

Re-run Queue

Upon hitting run, the status of the re-run can be monitored in the Run Queue below. There are two tabs for the run Queue:

  • In Progress: Displays anything currently running or pending to run,
  • Completed: Displays the runs that have been completed. The queue will show app name, well name, stream type, the stream name, datasets run, and the developer who requested the re-run. NOTE: Currently all users share the same queue. If multiple users execute the app runner simultaneously, they will be run in the order received.

image|690x395

Upon executing the re-run, the app can be monitored or logs access by clicking on the three dots under the Actions in the Run queue.

NOTE: Monitoring and Logs buttons unavailable for reruns in "Pending" state.